<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head><!-- start favicons snippet, use https://realfavicongenerator.net/ --><link rel="apple-touch-icon" sizes="180x180" href="/assets/apple-touch-icon.png"><link rel="icon" type="image/png" sizes="32x32" href="/assets/favicon-32x32.png"><link rel="icon" type="image/png" sizes="16x16" href="/assets/favicon-16x16.png"><link rel="manifest" href="/assets/site.webmanifest"><link rel="mask-icon" href="/assets/safari-pinned-tab.svg" color="#fc4d50"><link rel="shortcut icon" href="/assets/favicon.ico"><meta name="msapplication-TileColor" content="#ffc40d"><meta name="msapplication-config" content="/assets/browserconfig.xml"><meta name="theme-color" content="#ffffff"><!-- end favicons snippet -->
<title>RtpPacket (ExoPlayer library)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../../jquery/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../../jquery/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../../../../jquery/jquery-3.5.1.js"></script>
<script type="text/javascript" src="../../../../../../jquery/jquery-ui.js"></script>
</head>
<body>
<script type="text/javascript"><!--
    try {
        if (location.href.indexOf('is-external=true') == -1) {
            parent.document.title="RtpPacket (ExoPlayer library)";
        }
    }
    catch(err) {
    }
//-->
var data = {"i0":10,"i1":10,"i2":9,"i3":9,"i4":10,"i5":10};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
var pathtoroot = "../../../../../../";
var useModuleDirectories = false;
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<ul class="navListSearch">
<li><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>
<!-- ======== START OF CLASS DATA ======== -->
<main role="main">
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">com.google.android.exoplayer2.source.rtsp</a></div>
<h2 title="Class RtpPacket" class="title">Class RtpPacket</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li>com.google.android.exoplayer2.source.rtsp.RtpPacket</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<pre>public final class <span class="typeNameLabel">RtpPacket</span>
extends <a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">Object</a></pre>
<div class="block">Represents the header and the payload of an RTP packet.

 <p>Not supported parsing at the moment: header extension and CSRC.

 <p>Structure of an RTP header (RFC3550, Section 5.1).

 <pre>
  0                   1                   2                   3
  0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |V=2|P|X|  CC   |M|     PT      |       sequence number         |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                           timestamp                           |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |           synchronization source (SSRC) identifier            |
 +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
 |            contributing source (CSRC) identifiers             |
 |                             ....                              |
 +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
 | Profile-specific extension ID |   Extension header length     |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                       Extension header                        |
 |                             ....                              |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    3                   2                   1
  1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
 </pre></div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="nested.class.summary">
<!--   -->
</a>
<h3>Nested Class Summary</h3>
<table class="memberSummary">
<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Class</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="RtpPacket.Builder.html" title="class in com.google.android.exoplayer2.source.rtsp">RtpPacket.Builder</a></span></code></th>
<td class="colLast">
<div class="block">Builder class for an <a href="RtpPacket.html" title="class in com.google.android.exoplayer2.source.rtsp"><code>RtpPacket</code></a></div>
</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- =========== FIELD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="field.summary">
<!--   -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Field</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>byte[]</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#csrc">csrc</a></span></code></th>
<td class="colLast">
<div class="block">The RTP CSRC fields (Optional, up to 15 items).</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#CSRC_SIZE">CSRC_SIZE</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>byte</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#csrcCount">csrcCount</a></span></code></th>
<td class="colLast">
<div class="block">The RTP CSRC count field (Word 0, bits 4-7).</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#extension">extension</a></span></code></th>
<td class="colLast">
<div class="block">The RTP extension bit (Word 0, bit 3).</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#marker">marker</a></span></code></th>
<td class="colLast">
<div class="block">The RTP marker bit (Word 0, bit 8).</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#MAX_SEQUENCE_NUMBER">MAX_SEQUENCE_NUMBER</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#MAX_SIZE">MAX_SIZE</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#MIN_HEADER_SIZE">MIN_HEADER_SIZE</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#MIN_SEQUENCE_NUMBER">MIN_SEQUENCE_NUMBER</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#padding">padding</a></span></code></th>
<td class="colLast">
<div class="block">The RTP padding bit (Word 0, bit 2).</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>byte[]</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#payloadData">payloadData</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>byte</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#payloadType">payloadType</a></span></code></th>
<td class="colLast">
<div class="block">The RTP CSRC count field (Word 0, bits 9-15).</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#RTP_VERSION">RTP_VERSION</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#sequenceNumber">sequenceNumber</a></span></code></th>
<td class="colLast">
<div class="block">The RTP sequence number field (Word 0, bits 16-31).</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#ssrc">ssrc</a></span></code></th>
<td class="colLast">
<div class="block">The RTP SSRC field (Word 2).</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>long</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#timestamp">timestamp</a></span></code></th>
<td class="colLast">
<div class="block">The RTP timestamp field (Word 1).</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>byte</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#version">version</a></span></code></th>
<td class="colLast">
<div class="block">The RTP version field (Word 0, bits 0-1), should always be 2.</div>
</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ========== METHOD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#equals(java.lang.Object)">equals</a></span>&#8203;(<a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">Object</a>&nbsp;o)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#hashCode()">hashCode</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>static <a href="RtpPacket.html" title="class in com.google.android.exoplayer2.source.rtsp">RtpPacket</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#parse(byte%5B%5D,int)">parse</a></span>&#8203;(byte[]&nbsp;buffer,
     int&nbsp;length)</code></th>
<td class="colLast">
<div class="block">Creates an <a href="RtpPacket.html" title="class in com.google.android.exoplayer2.source.rtsp"><code>RtpPacket</code></a> from a byte array.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>static <a href="RtpPacket.html" title="class in com.google.android.exoplayer2.source.rtsp">RtpPacket</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#parse(com.google.android.exoplayer2.util.ParsableByteArray)">parse</a></span>&#8203;(<a href="../../util/ParsableByteArray.html" title="class in com.google.android.exoplayer2.util">ParsableByteArray</a>&nbsp;packetBuffer)</code></th>
<td class="colLast">
<div class="block">Creates an <a href="RtpPacket.html" title="class in com.google.android.exoplayer2.source.rtsp"><code>RtpPacket</code></a> from a <a href="../../util/ParsableByteArray.html" title="class in com.google.android.exoplayer2.util"><code>ParsableByteArray</code></a>.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code><a href="https://developer.android.com/reference/java/lang/String.html" title="class or interface in java.lang" class="externalLink" target="_top">String</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#toString()">toString</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#writeToBuffer(byte%5B%5D,int,int)">writeToBuffer</a></span>&#8203;(byte[]&nbsp;target,
             int&nbsp;offset,
             int&nbsp;length)</code></th>
<td class="colLast">
<div class="block">Writes the data in an RTP packet to a target buffer.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">Object</a></h3>
<code><a href="https://developer.android.com/reference/java/lang/Object.html#clone()" title="class or interface in java.lang" class="externalLink">clone</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang" class="externalLink">finalize</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang" class="externalLink">getClass</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang" class="externalLink">notify</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang" class="externalLink">notifyAll</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true#wait(long,int)" title="class or interface in java.lang" class="externalLink" target="_top">wait</a></code></li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="field.detail">
<!--   -->
</a>
<h3>Field Detail</h3>
<a id="RTP_VERSION">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>RTP_VERSION</h4>
<pre>public static final&nbsp;int RTP_VERSION</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../constant-values.html#com.google.android.exoplayer2.source.rtsp.RtpPacket.RTP_VERSION">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="MAX_SIZE">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>MAX_SIZE</h4>
<pre>public static final&nbsp;int MAX_SIZE</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../constant-values.html#com.google.android.exoplayer2.source.rtsp.RtpPacket.MAX_SIZE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="MIN_HEADER_SIZE">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>MIN_HEADER_SIZE</h4>
<pre>public static final&nbsp;int MIN_HEADER_SIZE</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../constant-values.html#com.google.android.exoplayer2.source.rtsp.RtpPacket.MIN_HEADER_SIZE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="MIN_SEQUENCE_NUMBER">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>MIN_SEQUENCE_NUMBER</h4>
<pre>public static final&nbsp;int MIN_SEQUENCE_NUMBER</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../constant-values.html#com.google.android.exoplayer2.source.rtsp.RtpPacket.MIN_SEQUENCE_NUMBER">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="MAX_SEQUENCE_NUMBER">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>MAX_SEQUENCE_NUMBER</h4>
<pre>public static final&nbsp;int MAX_SEQUENCE_NUMBER</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../constant-values.html#com.google.android.exoplayer2.source.rtsp.RtpPacket.MAX_SEQUENCE_NUMBER">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="CSRC_SIZE">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>CSRC_SIZE</h4>
<pre>public static final&nbsp;int CSRC_SIZE</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../constant-values.html#com.google.android.exoplayer2.source.rtsp.RtpPacket.CSRC_SIZE">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="version">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>version</h4>
<pre>public final&nbsp;byte version</pre>
<div class="block">The RTP version field (Word 0, bits 0-1), should always be 2.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../constant-values.html#com.google.android.exoplayer2.source.rtsp.RtpPacket.version">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="padding">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>padding</h4>
<pre>public final&nbsp;boolean padding</pre>
<div class="block">The RTP padding bit (Word 0, bit 2).</div>
</li>
</ul>
<a id="extension">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>extension</h4>
<pre>public final&nbsp;boolean extension</pre>
<div class="block">The RTP extension bit (Word 0, bit 3).</div>
</li>
</ul>
<a id="csrcCount">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>csrcCount</h4>
<pre>public final&nbsp;byte csrcCount</pre>
<div class="block">The RTP CSRC count field (Word 0, bits 4-7).</div>
</li>
</ul>
<a id="marker">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>marker</h4>
<pre>public final&nbsp;boolean marker</pre>
<div class="block">The RTP marker bit (Word 0, bit 8).</div>
</li>
</ul>
<a id="payloadType">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>payloadType</h4>
<pre>public final&nbsp;byte payloadType</pre>
<div class="block">The RTP CSRC count field (Word 0, bits 9-15).</div>
</li>
</ul>
<a id="sequenceNumber">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>sequenceNumber</h4>
<pre>public final&nbsp;int sequenceNumber</pre>
<div class="block">The RTP sequence number field (Word 0, bits 16-31).</div>
</li>
</ul>
<a id="timestamp">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>timestamp</h4>
<pre>public final&nbsp;long timestamp</pre>
<div class="block">The RTP timestamp field (Word 1).</div>
</li>
</ul>
<a id="ssrc">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ssrc</h4>
<pre>public final&nbsp;int ssrc</pre>
<div class="block">The RTP SSRC field (Word 2).</div>
</li>
</ul>
<a id="csrc">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>csrc</h4>
<pre>public final&nbsp;byte[] csrc</pre>
<div class="block">The RTP CSRC fields (Optional, up to 15 items).</div>
</li>
</ul>
<a id="payloadData">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>payloadData</h4>
<pre>public final&nbsp;byte[] payloadData</pre>
</li>
</ul>
</li>
</ul>
</section>
<!-- ============ METHOD DETAIL ========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a id="parse(com.google.android.exoplayer2.util.ParsableByteArray)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>parse</h4>
<pre class="methodSignature">@Nullable
public static&nbsp;<a href="RtpPacket.html" title="class in com.google.android.exoplayer2.source.rtsp">RtpPacket</a>&nbsp;parse&#8203;(<a href="../../util/ParsableByteArray.html" title="class in com.google.android.exoplayer2.util">ParsableByteArray</a>&nbsp;packetBuffer)</pre>
<div class="block">Creates an <a href="RtpPacket.html" title="class in com.google.android.exoplayer2.source.rtsp"><code>RtpPacket</code></a> from a <a href="../../util/ParsableByteArray.html" title="class in com.google.android.exoplayer2.util"><code>ParsableByteArray</code></a>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>packetBuffer</code> - The buffer that contains the RTP packet data.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The built <a href="RtpPacket.html" title="class in com.google.android.exoplayer2.source.rtsp"><code>RtpPacket</code></a>.</dd>
</dl>
</li>
</ul>
<a id="parse(byte[],int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>parse</h4>
<pre class="methodSignature">@Nullable
public static&nbsp;<a href="RtpPacket.html" title="class in com.google.android.exoplayer2.source.rtsp">RtpPacket</a>&nbsp;parse&#8203;(byte[]&nbsp;buffer,
                              int&nbsp;length)</pre>
<div class="block">Creates an <a href="RtpPacket.html" title="class in com.google.android.exoplayer2.source.rtsp"><code>RtpPacket</code></a> from a byte array.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>buffer</code> - The buffer that contains the RTP packet data.</dd>
<dd><code>length</code> - The length of the RTP packet.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The built <a href="RtpPacket.html" title="class in com.google.android.exoplayer2.source.rtsp"><code>RtpPacket</code></a>.</dd>
</dl>
</li>
</ul>
<a id="writeToBuffer(byte[],int,int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>writeToBuffer</h4>
<pre class="methodSignature">public&nbsp;int&nbsp;writeToBuffer&#8203;(byte[]&nbsp;target,
                         int&nbsp;offset,
                         int&nbsp;length)</pre>
<div class="block">Writes the data in an RTP packet to a target buffer.

 <p>The size of the target buffer and the length argument should be big enough so that the
 entire RTP packet could fit. That is, if there is not enough space to store the entire RTP
 packet, no bytes will be written. The maximum size of an RTP packet is defined as <a href="#MAX_SIZE"><code>MAX_SIZE</code></a>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>target</code> - A target byte buffer to which the packet data is copied.</dd>
<dd><code>offset</code> - The offset into the target array at which to write.</dd>
<dd><code>length</code> - The maximum number of bytes that can be written.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The number of bytes written, or <a href="../../C.html#LENGTH_UNSET"><code>C.LENGTH_UNSET</code></a> if there is not enough space to
     write the packet.</dd>
</dl>
</li>
</ul>
<a id="equals(java.lang.Object)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>equals</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;equals&#8203;(@Nullable
                      <a href="https://developer.android.com/reference/java/lang/Object.html" title="class or interface in java.lang" class="externalLink" target="_top">Object</a>&nbsp;o)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="https://developer.android.com/reference/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="externalLink">equals</a></code>&nbsp;in class&nbsp;<code><a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink" target="_top">Object</a></code></dd>
</dl>
</li>
</ul>
<a id="hashCode()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hashCode</h4>
<pre class="methodSignature">public&nbsp;int&nbsp;hashCode()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="https://developer.android.com/reference/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="externalLink">hashCode</a></code>&nbsp;in class&nbsp;<code><a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink" target="_top">Object</a></code></dd>
</dl>
</li>
</ul>
<a id="toString()">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>toString</h4>
<pre class="methodSignature">public&nbsp;<a href="https://developer.android.com/reference/java/lang/String.html" title="class or interface in java.lang" class="externalLink" target="_top">String</a>&nbsp;toString()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="https://developer.android.com/reference/java/lang/Object.html#toString()" title="class or interface in java.lang" class="externalLink">toString</a></code>&nbsp;in class&nbsp;<code><a href="https://developer.android.com/reference/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink" target="_top">Object</a></code></dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
</div>
</main>
<!-- ========= END OF CLASS DATA ========= -->
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
</footer>
</body>
</html>
